import api from '@/utils/api';

/**
 * 获取系统状态
 * @returns {Promise}
 */
export function getSystemStatus() {
  return api.get('/system/status');
}

/**
 * 获取系统资源使用情况
 * @returns {Promise}
 */
export function getSystemResources() {
  return api.get('/system/resources');
}

/**
 * 重启前端容器
 * @returns {Promise}
 */
export function restartFrontend() {
  return api.post('/system/restart/frontend');
}

/**
 * 重启后端容器
 * @returns {Promise}
 */
export function restartBackend() {
  return api.post('/system/restart/backend');
}

/**
 * 重启Nginx容器
 * @returns {Promise}
 */
export function restartNginx() {
  return api.post('/system/restart/nginx');
}

/**
 * 获取容器日志
 * @param {String} containerType 容器类型: frontend, backend, db
 * @param {Number} lines 返回的日志行数
 * @returns {Promise}
 */
export function getContainerLogs(containerType, lines = 100) {
  return api.get(`/system/logs/${containerType}`, {
    params: { lines }
  });
}

/**
 * 获取Docker容器列表 - 已禁用
 * @returns {Promise}
 */
/*
export function getDockerContainers() {
  return api.get('/system/docker/containers');
}
*/

/**
 * 获取Docker容器日志 - 已禁用
 * @param {String} containerId 容器ID或名称
 * @param {Object} options 选项
 * @param {Number} options.tail 获取最后几行日志，默认100行
 * @param {Boolean} options.timestamps 是否显示时间戳，默认true
 * @param {String} options.since 从某个时间点开始，如'1h'表示1小时前
 * @param {String} options.until 到某个时间点结束
 * @returns {Promise}
 */
/*
export function getDockerContainerLogs(containerId, options = {}) {
  return api.get(`/system/docker/logs/${containerId}`, {
    params: options
  });
}
*/